Eecient Parallel Programming with Algorithmic Skeletons
نویسندگان
چکیده
Algorithmic skeletons are polymorphic higher-order functions representing common parallelization patterns and implemented in parallel. They can be used as the building blocks of parallel and distributed applications by integrating them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language enhanced with higher-order functions and currying, as well as with a polymorphic type system. We thus obtain a high-level programming language which can be implemented very eeciently. After describing a series of skeletons which work with distributed arrays, we give two examples of parallel algorithms implemented in our language, namely matrix multiplication and a statistical numerical algorithm for solving partial diierential equations. Run-time measurements show that we approach the eeciency of message-passing C up to a factor between 1 and 1.75.
منابع مشابه
Parallel Genetic Algorithm Using Algorithmic Skeleton
Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...
متن کاملParallel Genetic Algorithm Using Algorithmic Skeleton
Algorithmic skeleton has received attention as an efficient method of parallel programming in recent years. Using the method, the programmer can implement parallel programs easily. In this study, a set of efficient algorithmic skeletons is introduced for use in implementing parallel genetic algorithm (PGA).A performance modelis derived for each skeleton that makes the comparison of skeletons po...
متن کاملA Case Study in the Parallel Implementation of Functional Languages Using Skeletons
The use of algorithmic skeletons in parallel functional programming seems to overcome many of the problems functional languages have in their applicability for applications. This paper presents a parallel implementation method for the SIT skeleton which takes into account all the available information about its behaviour in order to produce an eecient implementation on a parallel computer.
متن کاملAlgorithmic Skeletons for Adaptive Multigrid Methods
This paper presents a new approach to parallel programming with algorithmic skeletons, i.e. common parallelization patterns. We use an imperative language enhanced by some functional features as host for the embedding of the skeletons. This allows an eecient implementation and at the same time a high level of programming. In particular, low level communication problems such as deadlocks are avo...
متن کاملConstructive Solid Geometry Using Algorithmic Skeletons 1
This paper presents a study in the use of parallel algorithmic skeletons to program applications of constructive solid geometry (CSG). The approach is motivated by the frequent use of divide-and-conquer (D&C) methods in this domain, which are amenable to highly parallel implementation. A prototype Geometric Evaluation Library (GEL) is presented , with a small set of polymorphic higher-order fun...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996